import Mock from 'mockjs'

Mock.setup({//设置请求延时时间
    timeout: 1000
})
const Random = Mock.Random // Mock.Random 是一个工具类，用于生成各种随机数据



Mock.mock('/api/getBrandList', "get", {
    "list":[
        {
            id: "12", name: "华为"
        },
        {
            id: "13", name: "小米"
        }
    ]
})


let userList = []
for (let i = 0; i < 10; i++) {
    const o = {
        id: Random.guid(),
        title: Mock.mock("@ctitle"),
        idCard: Mock.mock('@id()'),
        addr: Mock.mock('@city(true)'),
        name: Mock.mock({"string|1-8": "yx"}),
        img: Random.image(),
        city: Mock.Random.city(),
        email1: Mock.Random.email(),
        email2: Mock.mock("@EMAIL"),
        email3: Mock.mock({
            email: "@EMAIL"
        }),
        user: Mock.mock({
            username: "@cname"
        }),
        user2: {
            username: Mock.Random.cname(),
            password: Mock.Random.word(3,5),

        }

        
    }
    userList.push(o)
}
Mock.mock('/user/list', 'post', (config) => {
    //获取前端传递过来的数据
    console.info(config.body)
    return userList
})


let mockData = Mock.mock({
	"tableData|6": [
		{
		     // num自增
			"num|+1": 1,   
		    
		    // dept 依次从从到右取数据中的值  
		    // tableData[0]['dept'] = '一级'   tableData[1]['dept'] = '二级' 
			"dept|+1":['一级','二级'],
  
  			 //属性 id 是随机id
	        'id': '@id',
             // 生成随机数字,与@id相同 
            "random":'@natural()',
	        
	        //属性 title 是一个随机长度的标题
	        'title': '@title()',
	        
	        //属性 paragraph 是一个随机长度的段落
	        'paragraph': '@cparagraph',
	        
	        //属性 image 是一个随机图片 参数分别为size, background, text
	        'image': "@image('200x100', '#4A7BF7', 'Hello')",
			
			// 随机从数组中选择一个值
			"a|1": ["TSET_DATA","TBNE_DATA","SSYZ_DATA"],  
			
			// 随机取1-10之间的整数拼接
			"b": "数据元@integer(1,10)",
			"b2|1-10":1,

			// 随机生成浮点数(60-100之间，小数点后3-5位)
			"num":"@float(60, 100, 3,5)",
					
			// 随机生成指定长度的字符串 --- 小写字母、大写字母、数字
			"s1":"@string('lower', 5)",
            "s2":"@string('upper', 4)",
            "s3":"@string('number', 3)",

			 // 时间  YYYY-MM-DD HH:mm:ss
            "t1":'@datetime()',  // 随机时间
            "t2":'@now()',    // 当前时间

			// 函数 ,输出V1、V2
			"f1":function(){
				return "V" + this.id
			}
			
			
		},
	]
})

Mock.mock("/test1", "get", (option)=>{
    console.log(option)
    return mockData
})
